Depth cameras are generally configured to calculate the distance between the camera and objects within the camera's field-of-view. This depth information, or depth map, can be projected into a 3D coordinate system—for example, with the camera at the origin—to generate a 3-dimensional (3D) image of the scene. Generally, depth cameras also capture color data (e.g., a red, green, blue, or RGB image), which is synchronized to the depth maps. A common application of depth cameras is to scan environments and objects and generate 3D reconstructions based on these scans. As the user moves the camera around the scene, the 3D pose (position and orientation) of the camera is calculated for every frame, and the 3D points obtained from the pixels of the depth maps are transformed to a global coordinate system and stored throughout the scanning process. The accumulation of 3D points constitutes a 3D reconstruction of the scene or object of interest, and can be represented as a signed distance function in a volumetric structure, or, equivalently, as a polygonal mesh.
Although the following Detailed Description will proceed with reference being made to illustrative embodiments, many alternatives, modifications, and variations thereof will be apparent to those skilled in the art.